package com.example.demo21;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ForkJoinPool;

/**
 * 虚拟线程（Project Loom中的Virtual Threads）
 */
public class VirtualThreadExample {

    public static void main(String[] args) {
        // 创建一个支持虚拟线程的线程池
        ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor(); // 实际使用时可能需要不同的构造方式

        // 创建并提交虚拟线程任务
        executor.execute(() -> {
            Thread currentThread = Thread.currentThread();

            // 判断当前线程是否为虚拟线程
            if (currentThread.isVirtual()) {
                System.out.println("Running on a virtual thread: " + currentThread);
            } else {
                System.out.println("Running on a platform thread.");
            }

            // 执行业务逻辑...
        });

        // 等待所有任务完成（此处仅为演示，实际应用可能需要更复杂的同步逻辑）
        executor.shutdown();

    }
}